package com.example.demo01.Controller.webController;

import com.alibaba.fastjson.JSON;
import com.example.demo01.Service.webService.ServiceCenterService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ServiceCenterController {
    //自动装配
    @Autowired
    private ServiceCenterService serviceCenterService;


    /**
     * 获取所有的医院服务点
     * @return 医院服务点List集合
     * */
    @RequestMapping("/servicecenter/GET/allhospitals")
    public String getAllHospital() { return JSON.toJSONString(serviceCenterService.getAllHospital());}

    /**
     * 获取所有的服务中心服务点
     * @return 医院服务点List集合
     * */
    @RequestMapping("/servicecenter/GET/allservicepoints")
    public String getAllServicePoint() { return JSON.toJSONString(serviceCenterService.getAllServicePoint());}



    /**
     * 根据经纬度默认获取所有的服务点
     * @param lng 经度
     * @param lat 纬度
     * @return 带有距离值信息的服务点
     * */
    @RequestMapping("/servicecenter/GET/defaultsps")
    public String getDefaultServicePsWidthoutDis(
            @RequestParam(value = "lng") String lng,
            @RequestParam(value = "lat") String lat)
    {
        return JSON.toJSONString(serviceCenterService.getDefaultServicePsWidthoutDis(lng,lat));
    }

    /**
     * 根据经纬度默认获取所有的医疗点
     * @param lng 经度
     * @param lat 纬度
     * @return 带有距离值信息的医疗点
     */
    @RequestMapping("/servicecenter/GET/defaulthps")
    public String getDefaultHospitalPsWidthoutDis(
            @RequestParam(value = "lng") String lng,
            @RequestParam(value = "lat") String lat)
    {
        return JSON.toJSONString(serviceCenterService.getDefaultHospitalPsWidthoutDis(lng,lat));
    }

    /**
     * 根据经纬度默认获取分部点
     * @param lng 经度
     * @param lat 纬度
     * @return 带有距离值信息的服务点
     * */
    @RequestMapping("/servicecenter/GET/spsbybufferdis")
    public String getServicePsByBufferDis(
            @RequestParam(value = "lng") String lng,
            @RequestParam(value = "lat") String lat,
            @RequestParam(value = "distance") String distance)
    {
        return JSON.toJSONString(serviceCenterService.getServicePsByBufferDis(lng, lat, distance));
    }


    /**
     * 根据经纬度和缓冲区距离获取医疗点
     * @param lng 经度
     * @param lat 纬度
     * @param distance 缓冲区距离
     * @return
     */
    @RequestMapping("/servicecenter/GET/hpsbybufferdis")
    public String getHospitalPsByBufferDis(
            @RequestParam(value = "lng") String lng,
            @RequestParam(value = "lat") String lat,
            @RequestParam(value = "distance") String distance)
    {
        return JSON.toJSONString(serviceCenterService.getHospitalPsByBufferDis(lng, lat, distance));
    }



}
